﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace GestorDeFlotasDesktop.AsignChoferAuto
{
    public partial class AsignChoferAuto : Form
    {
        private DateTime fecha;
        private int auto_id;
        private int chofer_id;
        private int turno_id;
        private string auto_text;
        private string chofer_text;
        private string turno_text;

        public AsignChoferAuto()
        {
            InitializeComponent();
            fecha = dtp_fecha.Value;
        }
        public AsignChoferAuto(DateTime fec, int auto, string auto_txt, int chofer, string chofer_txt, int turno, string turno_txt)
        {
            fecha = fec;
            auto_id = auto;
            auto_text = auto_txt;
            chofer_id = chofer;
            chofer_text = chofer_txt;
            turno_id = turno;
            turno_text = turno_txt;

            InitializeComponent();

            dtp_fecha.Value = fecha;
            tb_auto.Text = auto_text;
            tb_chofer.Text = chofer_text;
            tb_turno.Text = turno_text;
        }

        private void aceptar_Click_1(object sender, EventArgs e)
        {
            using (SqlConnection con_un = Modelo.Modelo.createConnection())
            {
                try
                {
                    Modelo.Modelo.openConnection(con_un);
                    SqlCommand comando_check_unique = new SqlCommand(Modelo.SqlQueries.getFecAutCho(fecha,
                                                            auto_id,
                                                            chofer_id), con_un);
                    SqlDataReader reader = comando_check_unique.ExecuteReader();
                    if (reader.Read())
                    {
                        MessageBox.Show("La combinacion Fecha-Auto-Chofer ya existe en la BD");
                    }
                    else
                    {
                        using (SqlConnection con = Modelo.Modelo.createConnection())
                        {
                            try
                            {
                                Modelo.Modelo.openConnection(con);
                                SqlCommand comando_add_ACA = new SqlCommand(Modelo.SqlQueries.addACA(
                                                            fecha,
                                                            auto_id,
                                                            chofer_id,
                                                            turno_id), con);
                                comando_add_ACA.ExecuteNonQuery();
                                MessageBox.Show("Asignacion Chofer-Auto agregada");
                                Login.Login.mainForm.openForm(new AsignChoferAuto());
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.Message);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }

        private void bt_auto_Click(object sender, EventArgs e)
        {

            Login.Login.mainForm.openForm(new Listado_ACA_Auto(dtp_fecha.Value, auto_id, auto_text, chofer_id, chofer_text, turno_id, turno_text));
        }

        private void bt_chofer_Click(object sender, EventArgs e)
        {
            Login.Login.mainForm.openForm(new Listado_ACA_Chofer(dtp_fecha.Value, auto_id, auto_text, chofer_id, chofer_text, turno_id, turno_text));
        }

        private void bt_turno_Click(object sender, EventArgs e)
        {
            Login.Login.mainForm.openForm(new Listado_ACA_Turno(dtp_fecha.Value, auto_id, auto_text, chofer_id, chofer_text, turno_id, turno_text));
        }
    }
}
